package course.examples.Fragments.StaticLayout;
import android.app.Activity;
import android.app.ListFragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
//Several Activity and Fragment lifecycle methods are instrumented to emit LogCat output
//so you can follow the class' lifecycle
public class TitlesFragment extends ListFragment {
private ListSelectionListener mListener = null;
private static final String TAG = "TitlesFragment";
// Callback interface that allows this Fragment to notify the QuoteViewerActivity when
// user clicks on a List Item
public interface ListSelectionListener {
public void onListSelection(int index);
}
// Called when the user selects an item from the List
@Override
public void onListItemClick(ListView l, View v, int pos, long id) {
// Indicates the selected item has been checked
getListView().setItemChecked(pos, true);
// Inform the QuoteViewerActivity that the item in position pos has been selected
mListener.onListSelection(pos);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
// Set the ListSelectionListener for communicating with the QuoteViewerActivity
mListener = (ListSelectionListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnArticleSelectedListener");
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, getClass().getSimpleName() + ":entered onCreate()");
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.i(TAG, getClass().getSimpleName() + ":entered onCreate()");
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedState) {
super.onActivityCreated(savedState);
// Set the list choice mode to allow only one selection at a time
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// Set the list adapter for the ListView
// Discussed in more detail in the user interface classes lesson
setListAdapter(new ArrayAdapter<String>(getActivity(),
R.layout.title_item, QuoteViewerActivity.mTitleArray));
}
@Override
public void onStart() {
Log.i(TAG, getClass().getSimpleName() + ":entered onStart()");
super.onStart();
}
@Override
public void onResume() {
Log.i(TAG, getClass().getSimpleName() + ":entered onResume()");
super.onResume();
}
@Override
public void onPause() {
Log.i(TAG, getClass().getSimpleName() + ":entered onPause()");
super.onPause();
}
@Override
public void onStop() {
Log.i(TAG, getClass().getSimpleName() + ":entered onStop()");
super.onStop();
}
@Override
public void onDetach() {
Log.i(TAG, getClass().getSimpleName() + ":entered onDetach()");
super.onDetach();
}
@Override
public void onDestroy() {
Log.i(TAG, getClass().getSimpleName() + ":entered onDestroy()");
super.onDestroy();
}
@Override
public void onDestroyView() {
Log.i(TAG, getClass().getSimpleName() + ":entered onDestroyView()");
super.onDestroyView();
}
}